As a particular computer's usage and applications expand, it may be desirable to expand the input/output (I/O) capabilities of that computer. A computer system typically includes a memory controller and an I/O controller. The memory controller may interface a fixed amount of memory to the host bus, and the I/O controller may interface a fixed number of I/O buses to the host bus. For example, a PCI-to-host bridge may interface a Peripheral Component Interconnect (PCI) bus to the host bus. A PCI bus is a high performance, high bandwidth bus configured in accordance with protocols established by the PCI Special Interest Group. The PCI-to-host bridge is provided, in part, to facilitate conversion of data from the PCI format to a format employed by the host bus.
Many existing computer systems include I/O devices such as PCI compatible devices or PCI expansion cards that can be connected to one of several PCI expansion slots. In computer systems utilizing a PCI bus, PCI expansion cards can be unplugged from and plugged into PCI expansion slots while the computer system is powered and running. This is called hot plugging. The ability to hot plug PCI cards and adapters is desirable because PCI expansion cards can be replaced without having to power down the computer system.